Applications characterized as “latency sensitive” are, typically, highly susceptible to execution delays and jitter (i.e., unpredictability) introduced by the computing environment in which the application runs. In virtualized systems, where a virtual machine (VM) running applications shares processing resources with other virtual machines and system tasks, virtual central processing units (CPUs) of latency-sensitive VMs may be granted exclusive affinity to physical CPUs such that those physical CPUs are, effectively, dedicated to running the virtual CPUs with affinity to them. This approach minimizes the scheduling delay of virtual CPUs, which reduces the latency of CPU and memory intensive workloads running on latency-sensitive VMs.
VM workloads employed by telecommunication (telco) companies often require extremely low-latency and fast response times. However, telco workloads generally have high physical CPU demand in the networking or storage stack, i.e., they are network input/output (I/O) intensive. Further, telco workloads may require close to zero packet drop rates even with the most bursty workloads that have rapid changes in CPU demand (e.g., from 100% in one second to 1% in the next second). The networking and storage stacks have typically been implemented as hypervisor services outside of traditional virtual CPU contexts. As a result, simply granting virtual CPU contexts associated with telco workloads exclusive affinity to physical CPUs, as in the case of traditional latency-sensitive VMs, will not resolve the CPU contention experienced by the networking or storage stack contexts that can add jitter and latency negatively affecting performance.